// 修改ExcelHeader.java，添加行高属性
package com.example.dev_demo.excel.exports;

import lombok.Data;

/**
 * Excel表头模型类
 * 用于描述表头信息和合并规则
 */
@Data
public class ExcelHeader {
    /**
     * 列索引（从0开始）
     */
    private int columnIndex;

    /**
     * 行索引（从0开始）
     */
    private int rowIndex;

    /**
     * 表头名称
     */
    private String title;

    /**
     * 合并列数（默认为1，即不合并）
     */
    private int colSpan = 1;

    /**
     * 合并行数（默认为1，即不合并）
     */
    private int rowSpan = 1;

    /**
     * 对应的数据字段名
     * 用于从数据对象中获取对应的值
     */
    private String fieldName;

    /**
     * 单元格宽度（-1表示自动计算）
     */
    private int width = -1;

    /**
     * 单元格高度（-1表示自动计算）
     */
    private int height = -1;

    public ExcelHeader(int columnIndex, int rowIndex, String title) {
        this.columnIndex = columnIndex;
        this.rowIndex = rowIndex;
        this.title = title;
    }

    public ExcelHeader(int columnIndex, int rowIndex, String title, int colSpan, int rowSpan) {
        this.columnIndex = columnIndex;
        this.rowIndex = rowIndex;
        this.title = title;
        this.colSpan = colSpan;
        this.rowSpan = rowSpan;
    }

    public ExcelHeader(int columnIndex, int rowIndex, String title, int colSpan, int rowSpan, String fieldName) {
        this.columnIndex = columnIndex;
        this.rowIndex = rowIndex;
        this.title = title;
        this.colSpan = colSpan;
        this.rowSpan = rowSpan;
        this.fieldName = fieldName;
    }
}